import sys

try:
    s = input('Enter something --> ')
except EOFError:
    print ('\nWhy did you do an EOF on me?')
    sys.exit() # exit the program
except:
    print ('\nSome error/exception occurred.')
    # here, we are not exiting the program

print ('Done')

class ShortInputException(Exception):
    '''A user-defined exception class.'''
    def __init__(self, length, atleast):
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast

try:
    s = input('Enter something --> ')
    if len(s) < 3:
        raise ShortInputException(len(s), 3)
    # Other work can continue as usual here
except EOFError:
    print( '\nWhy did you do an EOF on me?')
    
except SyntaxError:
    print( '\SyntaxError?')
except ShortInputException as x:
    print( 'ShortInputException: The input was of length %d, \
          was expecting at least %d' % (x.length, x.atleast))
else:
    print( 'No exception was raised.' )